// package com.tfswx.ruleengine.compute;
//
// import com.tfswx.ruleengine.compute.bean.FormDataObject;
// import org.codehaus.commons.compiler.CompileException;
// import org.codehaus.commons.compiler.Cookable;
// import org.codehaus.commons.compiler.IScriptEvaluator;
// import org.codehaus.janino.ExpressionEvaluator;
// import org.codehaus.janino.ScriptEvaluator;
//
// import java.lang.reflect.InvocationTargetException;
// import java.util.HashMap;
// import java.util.Map;
//
// /**
//  * @author ricky
//  * @date 2021/9/23
//  */
// public class JaninoTest {
//     public static void main(String[] args) throws CompileException, InvocationTargetException {
//         ScriptEvaluator se = new ScriptEvaluator();
//         se.setParameters(new String[]{"arg1", "arg2"}, new Class[]{FormDataObject.class, int.class});
//         se.cook(
//                 ""
//                         + "System.out.println(arg1);\n"
//                         + "System.out.println(arg2);\n"
//                         + "\n"
//                         + "static void method1() {\n"
//                         + "    System.out.println(\"run in method1()\");\n"
//                         + "}\n"
//                         + "\n"
//                         + "public static void method2() {\n"
//                         + "    System.out.println(\"run in method2()\");\n"
//                         + "}\n"
//                         + "\n"
//                         + "method1();\n"
//                         + "method2();\n"
//                         + "\n"
//
//         );
//         FormDataObject formDataObject = new FormDataObject();
//         formDataObject.setLbbm("类别名称");
//         se.evaluate(new Object[]{formDataObject, 22});
//     }
// }
